using System;

namespace FreeFlowAdministrator
{
  public delegate string ActionExecuteDelegate();

	/// <summary>
	/// Summary description for UIAction.
	/// </summary>
	public class UIAction
	{
    public UIAction(string caption, string hint, ActionExecuteDelegate executeDelegate)
    {
      this.caption = caption;
      this.hint = hint;
      this.executeDelegate = executeDelegate;
    }

		public UIAction(string caption, string hint, EventHandler eventHandler)
		{
      this.caption = caption;
      this.hint = hint;
      this.eventHandler = eventHandler;
		}

    public UIAction(string groupCaption)
    {
      caption = groupCaption;
    }

    private string caption;
    public string Caption
    {
      get
      {
        return caption;
      }
    }

    private string hint;
    public string Hint
    {
      get
      {
        return hint;
      }
    }

    private ActionExecuteDelegate executeDelegate;
    public ActionExecuteDelegate ExecuteDelegate
    {
      get
      {
        return executeDelegate;
      }
    }

    private EventHandler eventHandler;
    public EventHandler EventHandler
    {
      get
      {
        return eventHandler;
      }
    }
	}
}
